Switch Roleで何をしているのかざっくり説明する
こんにちは、CX事業本部の夏目です。
今回はAWSを使っているとたまに聞く、Switch Roleについてざっくり説明しようと思います。
結局 Switch Roleって何?
一言で言うとすれば、「AWSを見る/触るときの権限を別のIAM Roleに切り替えること」です。
別のIAM Roleに切り替えることで、今まで見えないものが見えたり、触れないものを触ったりできるようになります。
別のIAM Roleに切り替えるってどういうこと?
別のIAM Roleに切り替えるってどういうことなのか、なぜそれが嬉しいのか、ここでは2つの例をもとに説明しようと思います。
例1. sudo
Linuxサーバーなどでよく使うsudo
はSwitch Roleと少し似ています。
通常、LinuxサーバーでSSHするときroot
ユーザーで入ることはありません。
何らかの作成されたユーザーで入ることがほとんどです。
SSHでLinuxに入れば自分のホームディレクトリ配下は好き勝手に触れます。
しかし権限を持っていないので、/etc/
配下のファイルを書き換えてサーバーの設定を変更したり、apt-get
やyum
で何かをインストールすることができません。
そこで私達はsudo
コマンドを使い、root
ユーザーとして作業をします。
そうすることで、サーバーの設定を変更したり何かをインストールしたりします。
このsudo
によってroot
ユーザーとして振る舞うということは、Switch Roleに似ています。
例えば、Linuxに入るのに使ったユーザーをIAM User、root
ユーザーをAdministratorAccess
ポリシーを付与されたIAM Roleとして考えると、
sudo
コマンドはSwitch Roleしていると考えることができます。
このとき、LinuxサーバーはAWS Accountとして考えるといいでしょう。
IAM UserとしてAWSにログインした状態では狭い範囲しか見れない/触れない状態だったのが、Switch Roleでより広い範囲を見れたり/触れたりする状態にすることができます。
例2. 複数のチームに所属するスポーツ選手
先程は一つのAWS Accountで閉じる話でしたが、AWS AccountをまたがったSwitch Roleのお話です。
スポーツ選手は複数のチームに所属することがよくあります。
去年 大盛況で終わったラグビーワールドカップの出場選手で例えると、
- トップリーグ(日本ラグビーのプロリーグ)のチーム
- ラグビーワールドカップの日本代表チーム
- 東京五輪の7人制ラグビーの日本代表チーム
のように3つのチームに所属しているということも考えられます。
試合に出るときは、トップリーグのチームとして振る舞うこともあれば、ワールドカップの代表チームとして振る舞うときもあります。
これはチームをAWS Accountと考えると、AWS AccountをまたがったSwitch Roleに似ています。
IAM Roleを切り替えることで、持っている権限は似ていたとしても、自分が 見て触る/振る舞う AWS Accountを切り替えているのです。
まとめ
今回は、Switch Roleについてざっくりと説明してみました。
やっていることは、別のIAM Roleに切り替えてAWS環境を見て触るだけなんです。
それによって、同一Account内で権限の範囲を狭い状態から広い状態へ変化させたり、はたまた別のAWS Accountの内容を見たり触ったりできるようになったりします。
皆様のご理解の一助になれば幸いです。Switch Roleが何なのか、何をしているのかざっくり説明する